package com.web.servlet;

import com.web.bean.User;
import com.web.dao.UserDao;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

//当前类通过继承了HttpServlet，来扩展了web的处理功能
//@WebServlet作用是定义当前请求处理类的访问uri地址
//  http://localhost:8888/WebDemo/QueryUser
@WebServlet("/QueryUser")//请求uri可以修改，但是在同一个工程中uri不同重复
public class QueryServlet extends HttpServlet {

    //doGet方法是用于接收get请求的
    @Override   //          request  请求对象           response  响应对象
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置响应编码为gbk
        // response.setCharacterEncoding("GBK");
        request.setCharacterEncoding("UTF-8");//请求对象设置编码
        // 1.调用dao中的查询方法
        UserDao dao = new UserDao();
        // 2.查询
        List<User> userList = dao.queryUser();
        // 3.保存数据到作用域中
        request.setAttribute("userList", userList);
        //转发是请求链没有断开的
        request.getRequestDispatcher("userIndex.jsp").forward(request,response);
    }

    //doPost方法是用于接收Post请求的
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //调用了上面的doGet，目的是方便操作【不管是get、post都可以在doGet中编写处理代码】
        doGet(request, response);
    }
}
